`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2023/11/09 09:45:49
// Design Name: 
// Module Name: tb_uart
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////


module tb_uart();

/****仿真语法、产生时钟与复位****/

localparam CLK_PERIOD = 20 ;

reg clk,rst;

initial begin   //过程语句，只在仿真里可以使用，不可综合
    rst = 1;    //上电开始复位
    #100;       //延时100ns
    @(posedge clk) rst = 0;    //上电复位释放
end

always begin//过程语句，只在仿真里可以使用，不可综合
    clk = 0;
    #(CLK_PERIOD/2);
    clk = 1;
    #(CLK_PERIOD/2);
end

txdat_module #(
    .SYSTEM_CLK                 ( SYSTEM_CLK        ),
    .UART_BAUDRATE              ( UART_BAUDRATE     ),
    .UART_DATAWIDTH             ( UART_DATAWIDTH    ),
    .UART_CHECK                 ( UART_CHECK        ),
    .UART_STOP_WIDTH            ( UART_STOP_WIDTH   ))
 u_txdat_module (
    .i_clk                      ( i_clk             ),
    .i_user_tx_data             ( w_user_tx_data    ),
    .i_user_tx_valid            ( w_user_tx_valid   ),

    .o_uart_tx                  ( o_uart_tx         ),
    .o_user_tx_ready            ( o_user_tx_ready   )
);

endmodule
